// 冒泡排序
let arr = [2, 5, 3, 7, 6, 4, 21, 13, 1]
function bubbleSort (nums, flag) {
  let length = nums.length
  for (let i = 0; i < length; i++) {
    let flag = false
    for (let j = 0; j < length - i - 1; j++) {
      if (arr[j] > arr[j + 1]) {
        [arr[j], arr[j + 1]] = [arr[j + 1], arr[j]]
        flag = true
      }
    }
    // 如果在内层循环一次后一次交换都没有发生, 直接停止外层循环
    if (!flag) {
      break
    }
  }
  return (flag === 1) ? nums : nums.reverse()
}
console.log(bubbleSort(arr, 1))